package com.powernode.driver.config;

import cn.binarywang.wx.miniapp.api.WxMaService;
import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl;
import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl;
import com.powernode.driver.properties.WxMaProperties;
import jakarta.annotation.Resource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * BinaryWang微信小程序配置类
 * 用于配置微信小程序相关的服务和属性
 */
@Configuration
public class WxMaConfig {
    // 注入微信小程序配置属性
    @Resource
    private WxMaProperties wxMaProperties;

    /**
     * 创建微信小程序服务Bean
     * @return WxMaService 微信小程序服务实例
     */
    @Bean
    public WxMaService wxMaService() {
        // 创建默认的微信小程序配置实现
        WxMaDefaultConfigImpl wxMaDefaultConfig = new WxMaDefaultConfigImpl();
        // 设置小程序AppID
        wxMaDefaultConfig.setAppid(wxMaProperties.getAppId());
        // 设置小程序密钥
        wxMaDefaultConfig.setSecret(wxMaProperties.getSecret());

        // 创建微信小程序服务实例
        WxMaService wxMaService = new WxMaServiceImpl();
        // 为服务设置配置
        wxMaService.setWxMaConfig(wxMaDefaultConfig);

        return wxMaService;
    }
}
